草庐IT

c++ - 递归 lambda 的 Typedef

全部标签

c - 在 c 中实现 xml 解析器

我正在考虑用c99构建一个简单的xml解析器,我想实现它的每一个细节只是为了学习目的,据我所知,最好的方法是实现一个树结构并将xml字符串标记为一个树结构,所以它看起来像我将有2个简单的结构,一个代表一个节点,一个代表一个属性,上面的设计有多糟糕?有什么改进建议吗? 最佳答案 撇开你选择的任务的复杂性不谈,你的数据结构乍一看不错,但在我看来有两三处错误:您不仅要考虑子节点,还要考虑共享同一父节点的兄弟节点没有必要将sttribute树变成二叉树。为简单起见,我只使用单链表。您需要考虑左括号和右括号之间的节点内容(除非您的节点结构已经

c - 如何使用 libxml c 库获取 XML 中的属性?

某项任务要求我解析一个XML文件并检查每个节点及其属性。我花了几周时间学习XML和XML解析。我什至在之前发布的与C中的LIBXML解析相关的问题的帮助下,基于这种理解,我在下面编写了这段代码。但是这段代码是有缺陷的,因为我没有达到目标。我想我弄乱了一些父子和sibling的概念。我从下面提到的XML文件中了解到的是:Profile是Root节点,Catalog是它的子节点,目录有child作为参数和参数有child作为目标并且所有目录节点都是彼此的sibling。Profile-->Catalog-->Parameter-->Target|->Catalog-->Parameter-

xml - XSL 递归排序

我面临一个问题,我需要根据元素的值对元素进行排序,元素包含一个数字,以句点分隔。我需要根据第一个周期之前的数字值对元素进行排序,然后是第一个周期和第二个周期之间的数字,依此类推。我不知道,这个层次结构能深入到什么程度,这是最大的问题。2.0.11.21.1.11.2.01结果应该是这样的:11.1.11.21.2.02.0.1这可能吗?感谢任何帮助。 最佳答案 有一个不使用任何扩展的“简单”答案:将行值拆分成夹头并对其进行排序。 关于xml-XSL递归排序,我们在StackOverflo

iphone - 使用libxml2 sax解析器时如何从xml中获取属性的名称和值?

我一直在尝试通过使用libxml2解析iPhone应用程序上的api来检测某些通用xml中属性的名称和值对。对于我的项目,解析速度非常重要,所以我决定使用libxml2本身而不是使用NSXMLParser。现在,引用XMLPerformance,它是iPhoneSDK的一个示例,用于NSXMLParser和libxml2之间的解析基准,我试图在一个XML解析器处理程序中获取属性的详细信息,如下所示,但我不知Prop体如何来检测它。/*forexample,*/staticvoidstartElementSAX(void*ctx,constxmlChar*localname,constx

xml - 如何使用 XSLT 递归删除一些 xml 元素

所以我遇到了这种情况,这很糟糕。我有这样的XMLisbntitleprice[prénom][nom]PhillItinfoobarboofooboobarfooboofooboofooboo现在的问题是如何递归删除所有空的td、tr和table元素?现在我使用这个XSLT但是效果不是很好。删除td后,tr变为空,但它不处理。太糟糕了。查看带有“cas4”的table元素。isbntitleprice[prénom][nom]PhillItinfoobarboofooboobarfooboofooboofooboo你会如何解决这个问题? 最佳答案

xml - 如何处理 XQuery 中的递归?

我正在尝试使用mondial.sql数据库通过陆路边界从一个国家/地区穿越到另一个国家/地区,从而找到陆路可到达的所有国家/地区。它必须递归完成,我在网上找到了一些函数,我认为这些函数对于连接序列很有用,并且能够排除已经找到的国家/地区。问题是我最终陷入了一个循环,即使要排除的国家似乎处理得当。所以我的想法是,我可能必须以某种方式定义一个基本案例,以便在找到所有可能的国家/地区后停止递归。如何使用XQuery实现这一目标?(:functx.value-unionandis-value-in-sequencewerefoundathttp://www.xqueryfunctions.co

xml - 在 XSLT 中递归组合相同的兄弟元素

如何使用XSLT将具有相同名称和相同属性的所有同级元素合并为一个元素?转换也应该递归地应用于正在合并的元素的子元素。这是源文件:应该转化为:任何具有相同名称和属性的元素都合并为一个元素。然后,他们的child接受检查。如果它们中的任何一个具有相同的名称和相同的属性,则将它们合并。此转换递归地应用于所有元素。编辑:澄清一下,要合并的两个元素必须满足所有这些条件。它们具有相同的元素名称它们具有相同的属性每个对应属性的值都相同它们是sibling(递归应用,因此在考虑它们的子元素之前合并和合并任何相同的父元素)这些元素是相同的,应该合并:和(同名,同属性)和(同名,同属性)这些元素不相同,不

c - How to convert <node/> to <node></node> with libxml (converting empty elements to start-end tag pair)

生成XML内容时,我得到一个空节点,我希望它是.(由于是c14n的正确形式,因此称为“将空元素转换为开始-结束标记对”的过程)我应该如何转换它?JimGarrison(谢谢)暗示有一种方法可以做到这一点,通过使用xmlBufferCreate、xmlSaveToBuffer、xmlSaveDoc、xmlSaveClose使用xmlSaveOption:XML_SAVE_NO_EMPTY 最佳答案 查看libxml2文档,特别是xmlSaveOption值XML_SAVE_NO_EMPTY

java - 递归地从 XML 中删除空节点

我想从XML元素中删除空节点。此xml由供应商生成,我无法控制xml生成。但是由于XML中的空节点很少,我需要递归地删除这些空节点。这个xml是从OMElement得到的,我使用[XMLUtils][1]从这个对象中得到一个元素示例XMLsomethingsomethingsomethingelse由于D21是一个空节点,我想删除D21,因为现在D2是一个空节点,我想删除D2,但由于D有D1,我不想删除D。同样有可能我可以得到现在因为C是空的,我想删除C,然后是B,最后是节点A。我正在尝试使用Node中的removeChild()方法来执行此操作但到目前为止我无法递归地删除它们。有任何

c - C 中有哪些 XML API?

它们都这么复杂吗?:http://msdn.microsoft.com/en-us/library/ms766497(VS.85).aspx只需要一些基本的东西就可以在C中生成XML。 最佳答案 我喜欢libxml.这是一个使用示例:#includeintmain(void){xmlNodePtrroot,node;xmlDocPtrdoc;xmlChar*xmlbuff;intbuffersize;/*Createthedocument.*/doc=xmlNewDoc(BAD_CAST"1.0");root=xmlNewNode(